﻿#ifndef NAMESPACES_CMST_H
#define NAMESPACES_CMST_H

#include <string>

namespace cms{

    /*
     * @函数名称:字符串组成成分分析
     *
     * @参数说明：
     *     a: 字符串，string 类型。
     *
     * @函数返回值：
     *
     *     4096 : 字符串超长（密码最大长度为4096）
     *
     *     2222 : 字符串为空
     *
     *     1 : 大写字母
     *
     *     10 : 小写字母
     *
     *     100 : 数字
     *
     *     1000 : 标点符号
     *
     *     1111 : 大写字母 + 小写字母 + 数字 + 标点符号
     *
     *     1110 : 小写字母 + 数字 + 标点符号
     *
     *     1101 : 大写字母 + 数字 + 标点符号
     *
     *     1100 : 数字 + 标点符号
     *
     *     1011 : 大写字母 + 小写字母 + 标点符号
     *
     *     1010 : 小写字母 + 标点符号
     *
     *     1001 : 大写字母 + 标点符号
     *
     *     111 : 大写字母 + 小写字母 + 数字
     *
     *     110 : 小写字母 + 数字
     *
     *     101 : 大写字母 + 数字
     *
     *     11 : 大写字母 + 小写字母
     * */
    int funIntOfCompositonAnalysis(const std::string a);

    /*
     * @函数名称: 判断字符串首位是不是字母或者数字
     *
     * @返回值说明
     *     true : 字符串首字符是字母或者数字
     *     false : 字符串首字符不是字母也不是数字
     *
     * */
    bool funStrOfInitialDetection(const std::string a);

}


#endif // NAMESPACES_CMST_H
